/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

/*
 * PanelSkladowisko.java
 *
 * Created on 2011-05-13, 22:43:48
 */

package App.widoki;

import App.kontrolery.KontrolerPrzegladajKontenery;
import App.modele.ModelSkladowisko;
import skladowisko.Skladowisko;

/**
 *
 * @author Krzysiek
 */
public class PanelSkladowisko extends javax.swing.JPanel {

    /** Creates new form PanelSkladowisko */
    private int rozmiarPolaX = 0;
    private int rozmiarPolaY = 0;
   
    private KontrolerPrzegladajKontenery nadzorca = null;
    private ModelSkladowisko model = null;

    public PanelSkladowisko(KontrolerPrzegladajKontenery nadzorca, Skladowisko skladowisko, int width, int height)
    {
        this.nadzorca = nadzorca;
        model = new ModelSkladowisko(skladowisko);

        initComponents();
        this.setBounds(0, 0, width, height);
        inicjujRozmiary(model.getRzedy(), model.getKolumny());

        for(int i=0;i<model.getRzedy();i++)
          for(int j=0;j<model.getKolumny();j++)
            dodajPole(i, j);
    }

    private void inicjujRozmiary(int rzedy, int kolumny)
    {
        int width = this.getWidth();
        int height = this.getHeight();
        this.rozmiarPolaX = (this.getWidth() - 20 - 2*kolumny)/kolumny;
        this.rozmiarPolaY = (this.getHeight() - 20 - 2*rzedy)/rzedy;
    }

    private void dodajPole(int rzad, int kolumna)
    {
        PanelPole nowy = new PanelPole(model.getPole(rzad, kolumna), rozmiarPolaX, rozmiarPolaY);
        nowy.setBounds(13+kolumna*(this.rozmiarPolaX+2), 13+rzad*(this.rozmiarPolaY+2), rozmiarPolaX, rozmiarPolaY);

        nowy.ustawObserwatora(nadzorca);

        this.add(nowy);
        this.validate();
    }

    /** This method is called from within the constructor to
     * initialize the form.
     * WARNING: Do NOT modify this code. The content of this method is
     * always regenerated by the Form Editor.
     */
    @SuppressWarnings("unchecked")
    // <editor-fold defaultstate="collapsed" desc="Generated Code">//GEN-BEGIN:initComponents
    private void initComponents() {

        setBackground(new java.awt.Color(255, 204, 204));

        javax.swing.GroupLayout layout = new javax.swing.GroupLayout(this);
        this.setLayout(layout);
        layout.setHorizontalGroup(
            layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGap(0, 474, Short.MAX_VALUE)
        );
        layout.setVerticalGroup(
            layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGap(0, 300, Short.MAX_VALUE)
        );
    }// </editor-fold>//GEN-END:initComponents


    // Variables declaration - do not modify//GEN-BEGIN:variables
    // End of variables declaration//GEN-END:variables

}
